#ifndef OS_SCHM_BASE_H
#define OS_SCHM_BASE_H

//////////////////////////////////////////////////////////////////////////////
// INCLUDES
//////////////////////////////////////////////////////////////////////////////
#include <stdint.h>
#include <stdbool.h>
#include "os_task.h"
#include "priority_queue.h"

//////////////////////////////////////////////////////////////////////////////
// CONSTANTS AND DATA TYPES
//////////////////////////////////////////////////////////////////////////////
//for data that doesn't change in runtime
typedef struct os_timer_event_cfg_tag
{
	uint32_t u32InitDelayMs; //initial delay in ms
	uint32_t u32PeriodMs; //timer period
	os_task_t *task; //the OS task where the timer event belongs to
	uint16_t eventID; //the timer event ID
} os_timer_ev_cfg_t;



//////////////////////////////////////////////////////////////////////////////
// GLOBAL VARIABLES
//////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////
// GLOBAL FUNCTION PROTOTYPES
//////////////////////////////////////////////////////////////////////////////

#endif //OS_SCHM_BASE_H
